←Select platform

FreeHandShearCommand Constructor(int[],int,RasterColor,FreeHandShearCommandFlags)

Summary
Initializes a new FreeHandShearCommand class object with explicit parameters.
Syntax
C#
C++/CLI
Python
public: 
FreeHandShearCommand(  
   array<int>^ amplitudes, 
   int scale, 
   RasterColor fillColor, 
   FreeHandShearCommandFlags flags 
) 
__init__(self,amplitudes,scale,fillColor,flags) # Overloaded constructor 

Parameters

amplitudes
Array of integers that represent shear wave values. The real values of the array elements is divided by 1000, and the valid value of each element in the amplitudes array is between -1000 and 1000. These values are generally obtained from the Leadtools.ImageProcessing.Effects.EffectsUtilities.GetCurvePoints(System.Int32[],Leadtools.LeadPoint[],Leadtools.ImageProcessing.Effects.CurvePointsType) utility method.

scale
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the scale value divided by 100. The valid range is from 0 to 100.

fillColor
Specifies the fill color for any exposed areas.

flags
Flags that indicate how to handle exposed areas, and the direction of the shear wave.

Example

Run the FreeHandShearCommand on an image.

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
using Leadtools.ImageProcessing.Effects; 
 
 
public void FreeHandShearConstructorExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")); 
 
   // Prepare the command 
   LeadPoint[] userPoint = new LeadPoint[4]; 
   // Fill apUserPoint array with points that define a triangular wave 
   userPoint[0].X = 0; 
   userPoint[0].Y = 0; 
   userPoint[1].X = 3; 
   userPoint[1].Y = 10; 
   userPoint[2].X = 9; 
   userPoint[2].Y = -10; 
   userPoint[3].X = 12; 
   userPoint[3].Y = 0; 
 
   int[] amplitudes = new int[13]; 
   // Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array. 
   EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear); 
   // Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000). 
   int maximum, i; 
   for (maximum = 0, i = 0; i < 13; i++) 
   { 
      if (maximum < amplitudes[i]) 
         maximum = amplitudes[i]; 
   } 
   if (maximum != 0) 
   { 
      for (i = 0; i < 13; i++) 
      { 
         amplitudes[i] = (1000 * amplitudes[i] / Math.Abs(maximum)); 
      } 
   } 
 
   FreeHandShearCommand command = new FreeHandShearCommand(amplitudes, 100, new RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal | FreeHandShearCommandFlags.Repeat); 
   // Apply the shear wave horizontally. 
   command.Run(image); 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.SpecialEffects Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.